[INFO] cloning repository https://github.com/seungjin/grundreinigung
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/seungjin/grundreinigung" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseungjin%2Fgrundreinigung", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseungjin%2Fgrundreinigung'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4d3b71ce24c1468d7183456ee32d2197f9cbd178
[INFO] checking seungjin/grundreinigung against try#8ac0915e346f9a2e49ca3951b642c55bd7d1eaab for pr-158447
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseungjin%2Fgrundreinigung" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/seungjin/grundreinigung
[INFO] finished tweaking git repo https://github.com/seungjin/grundreinigung
[INFO] tweaked toml for git repo https://github.com/seungjin/grundreinigung written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/seungjin/grundreinigung on toolchain 8ac0915e346f9a2e49ca3951b642c55bd7d1eaab
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/seungjin/grundreinigung already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded openssh-mux-client v0.17.6
[INFO] [stderr]   Downloaded typed-builder-macro v0.20.0
[INFO] [stderr]   Downloaded typed-builder v0.20.0
[INFO] [stderr]   Downloaded result v1.0.0
[INFO] [stderr]   Downloaded tokio-io-utility v0.7.6
[INFO] [stderr]   Downloaded ssh_format v0.14.1
[INFO] [stderr]   Downloaded openssh-mux-client-error v0.1.1
[INFO] [stderr]   Downloaded openssh v0.11.4
[INFO] [stderr]   Downloaded sendfd v0.4.3
[INFO] [stderr]   Downloaded non-zero-byte-slice v0.1.0
[INFO] [stderr]   Downloaded ssh_format_error v0.1.0
[INFO] [stderr]   Downloaded clap_lex v0.7.3
[INFO] [stderr]   Downloaded thiserror-impl v2.0.3
[INFO] [stderr]   Downloaded thiserror v2.0.3
[INFO] [stderr]   Downloaded clap v4.5.21
[INFO] [stderr]   Downloaded clap_builder v4.5.21
[INFO] [stderr]   Downloaded rustix v0.38.41
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e1973d9e3360b85f26c521842a33b59523ae01c1cd6fee67399bd565a8175ad1
[INFO] running `Command { std: "docker" "start" "e1973d9e3360b85f26c521842a33b59523ae01c1cd6fee67399bd565a8175ad1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e1973d9e3360b85f26c521842a33b59523ae01c1cd6fee67399bd565a8175ad1" "/opt/rustwide/cargo-home/bin/cargo" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e1973d9e3360b85f26c521842a33b59523ae01c1cd6fee67399bd565a8175ad1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e1973d9e3360b85f26c521842a33b59523ae01c1cd6fee67399bd565a8175ad1" "/opt/rustwide/cargo-home/bin/cargo" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling thiserror v2.0.3
[INFO] [stderr]    Compiling rustix v0.38.41
[INFO] [stderr]    Compiling iana-time-zone v0.1.61
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]     Checking fastrand v2.2.0
[INFO] [stderr]    Compiling anyhow v1.0.93
[INFO] [stderr]     Checking clap_lex v0.7.3
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]     Checking clap_builder v4.5.21
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking shell-escape v0.1.5
[INFO] [stderr]     Checking result v1.0.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]    Compiling chrono v0.4.38
[INFO] [stderr]     Checking tempfile v3.14.0
[INFO] [stderr]    Compiling grundreinigung v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.3
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling typed-builder-macro v0.20.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]     Checking tokio v1.41.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking typed-builder v0.20.0
[INFO] [stderr]     Checking clap v4.5.21
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking sendfd v0.4.3
[INFO] [stderr]     Checking tokio-io-utility v0.7.6
[INFO] [stderr]     Checking tokio-stream v0.1.16
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]     Checking ssh_format_error v0.1.0
[INFO] [stderr]     Checking non-zero-byte-slice v0.1.0
[INFO] [stderr]     Checking openssh-mux-client-error v0.1.1
[INFO] [stderr]     Checking ssh_format v0.14.1
[INFO] [stderr]     Checking openssh-mux-client v0.17.6
[INFO] [stderr]     Checking openssh v0.11.4
[INFO] [stdout] warning: unused imports: `Error` and `Result`
[INFO] [stdout]  --> src/main.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Error, Result};
[INFO] [stdout]   |              ^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KnownHosts` and `Session`
[INFO] [stdout]  --> src/main.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use openssh::{KnownHosts, Session};
[INFO] [stdout]   |               ^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/command/apt.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Error, Result};
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]  --> src/command/apt.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/server.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let mut os_release = s
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `Result`
[INFO] [stdout]  --> src/main.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Error, Result};
[INFO] [stdout]   |              ^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KnownHosts` and `Session`
[INFO] [stdout]  --> src/main.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use openssh::{KnownHosts, Session};
[INFO] [stdout]   |               ^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/command/apt.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Error, Result};
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]  --> src/command/apt.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/server.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `secure`
[INFO] [stdout]   --> src/command/apt.rs:40:41
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub async fn upgrade(c: Connection, secure: bool) -> Result<String> {
[INFO] [stdout]    |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_secure`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/server.rs:160:29
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub async fn write_file(s: Arc<Session>, path: &str, content: &str) {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/server.rs:160:46
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub async fn write_file(s: Arc<Session>, path: &str, content: &str) {
[INFO] [stdout]     |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/server.rs:160:58
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub async fn write_file(s: Arc<Session>, path: &str, content: &str) {
[INFO] [stdout]     |                                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let mut os_release = s
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Apt` is never constructed
[INFO] [stdout]  --> src/command/apt.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Apt;
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Connection` is never used
[INFO] [stdout]   --> src/command/apt.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | type Connection = Arc<Session>;
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `update`, `upgrade`, `autoremove`, and `full_upgrade` are never used
[INFO] [stdout]   --> src/command/apt.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Apt {
[INFO] [stdout]    | -------- associated functions in this implementation
[INFO] [stdout] 14 |     pub async fn update(
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub async fn upgrade(c: Connection, secure: bool) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub async fn autoremove(c: Connection) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub async fn full_upgrade(c: Connection) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DistroVer` is never used
[INFO] [stdout]   --> src/server.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum DistroVer {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Connection` is never used
[INFO] [stdout]   --> src/server.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Connection = Arc<Session>;
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/server.rs:48:18
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl Server {
[INFO] [stdout]     | ----------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub async fn reboot(
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub async fn alive(s: Arc<Session>) -> bool {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub async fn wait_until_down(s: Arc<Session>) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub async fn run_cmd(c: Connection, cmd_str: &str) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub async fn check_debian_ver(s: Arc<Session>) -> u8 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub async fn check_fedora_ver(s: Arc<Session>) -> u8 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub async fn read_file(s: Arc<Session>, path: &str) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub async fn write_file(s: Arc<Session>, path: &str, content: &str) {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub async fn read_directory() {}
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 168 |
[INFO] [stdout] 169 |     pub async fn whoami() {}
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         Server::wait_until_down(s).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let _ = Server::wait_until_down(s).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `secure`
[INFO] [stdout]   --> src/command/apt.rs:40:41
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub async fn upgrade(c: Connection, secure: bool) -> Result<String> {
[INFO] [stdout]    |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_secure`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/server.rs:160:29
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub async fn write_file(s: Arc<Session>, path: &str, content: &str) {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/server.rs:160:46
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub async fn write_file(s: Arc<Session>, path: &str, content: &str) {
[INFO] [stdout]     |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/server.rs:160:58
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub async fn write_file(s: Arc<Session>, path: &str, content: &str) {
[INFO] [stdout]     |                                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Apt` is never constructed
[INFO] [stdout]  --> src/command/apt.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Apt;
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Connection` is never used
[INFO] [stdout]   --> src/command/apt.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | type Connection = Arc<Session>;
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `update`, `upgrade`, `autoremove`, and `full_upgrade` are never used
[INFO] [stdout]   --> src/command/apt.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Apt {
[INFO] [stdout]    | -------- associated functions in this implementation
[INFO] [stdout] 14 |     pub async fn update(
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub async fn upgrade(c: Connection, secure: bool) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub async fn autoremove(c: Connection) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub async fn full_upgrade(c: Connection) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DistroVer` is never used
[INFO] [stdout]   --> src/server.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum DistroVer {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Connection` is never used
[INFO] [stdout]   --> src/server.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Connection = Arc<Session>;
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/server.rs:48:18
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl Server {
[INFO] [stdout]     | ----------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub async fn reboot(
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub async fn alive(s: Arc<Session>) -> bool {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub async fn wait_until_down(s: Arc<Session>) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub async fn run_cmd(c: Connection, cmd_str: &str) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub async fn check_debian_ver(s: Arc<Session>) -> u8 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub async fn check_fedora_ver(s: Arc<Session>) -> u8 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub async fn read_file(s: Arc<Session>, path: &str) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub async fn write_file(s: Arc<Session>, path: &str, content: &str) {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub async fn read_directory() {}
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 168 |
[INFO] [stdout] 169 |     pub async fn whoami() {}
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         Server::wait_until_down(s).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let _ = Server::wait_until_down(s).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.39s
[INFO] running `Command { std: "docker" "inspect" "e1973d9e3360b85f26c521842a33b59523ae01c1cd6fee67399bd565a8175ad1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e1973d9e3360b85f26c521842a33b59523ae01c1cd6fee67399bd565a8175ad1", kill_on_drop: false }`
[INFO] [stdout] e1973d9e3360b85f26c521842a33b59523ae01c1cd6fee67399bd565a8175ad1
